import axios from 'axios'
import {Message, MessageBox} from 'element-ui'
import store from '../store'
import {getToken} from '@/utils/auth'
import global from '../utils/global'

// 创建axios实例
const service = axios.create({
    // baseURL: process.env.BASE_API, // api的base_url
    baseURL: global.address.zuul,
    timeout: 15000 // 请求超时时间
})

// request拦截器
service.interceptors.request.use(config => {
    if (store.getters.token) {
        config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
    }
    return config
}, error => {
    // Do something with request error
    console.log(error) // for debug
    Promise.reject(error)
})

const responseFun = function (response) {
    return response.data;
}

// respone拦截器
service.interceptors.response.use(
    responseFun,
    error => {
        switch (error.response.status){
            case 50008:
                Message({
                    type: 'error',
                    message: '您的权限不满足此操作',
                    duration: 5 * 1000
                })
                return Promise.reject(error)
        }

        console.log('err' + error)// for debug
        Message({
            message: error.message,
            type: 'error',
            duration: 5 * 1000
        })
        return Promise.reject(error)
    }
)

export default service
